package com.xiaofeng.pochi.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiaofeng.pochi.common.Page;
import com.xiaofeng.pochi.pojo.ShopBrand;
import com.xiaofeng.pochi.pojo.ShopCoupon;
import com.xiaofeng.pochi.pojo.ShopCouponHistory;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * Created with IntelliJ IDEA
 *
 * @Author: chc
 * @Date: 2022/08/18/23:29
 * @Description:
 */
@Component
public interface ShopCouponMapper extends BaseMapper<ShopCoupon> {

    /**
     * 添加
     * @param shopCoupon
     */
    void save(ShopCoupon shopCoupon);

    /**
     * 下架
     * @param id
     */
    void down(Long id);

    /**
     * 分页查询
     * @param page
     * @return
     */
    List<ShopCoupon> getByPage(Page<ShopCoupon> page);

    /**
     * 查询总数
     * @param page
     * @return
     */
    Integer countByPage(Page<ShopCoupon> page);

    /**
     * 查询全场通用优惠券
     * @return
     */
    List<ShopCoupon> getBothCoupon();

    /**
     * 根据分类ID查询优惠券
     * @param categoryId
     * @return
     */
    List<ShopCoupon> getByCategoryId(Long categoryId);

    /**
     * 根据商品ID查询
     * @param productId
     * @return
     */
    List<ShopCoupon> getByProductId(Long productId);


    /**
     * 查询优惠券
     * @param couponId
     * @return
     */
    ShopCoupon get(Long couponId);

    /**
     * 更新过期优惠券
     */
    void updateTimeoutCoupon();

    /**
     * 更新数量
     * @param coupon
     */
    void updateCount(ShopCoupon coupon);

}
